package com.sz.biz.trade.ord.entity;

import com.sz.biz.trade.ord.dto.TrdOrderGoodsSaveDto;
import com.sz.common.base.entity.VersionEntity;
import com.sz.common.base.entity.VersionEntityBase;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * Function: 贸易订单 <br>
 * Author: jifeixing <br>
 * Date: 2017-07-15 14:19:00
 */
public class TrdOrder extends VersionEntityBase implements VersionEntity {
    /**
     * id
     */
    private Integer id;
    /**
     * 业务类型
     */
    private String businessType = "2";
    /**
     * 业务单号
     */
    private String businessNo;
    /**
     * 订单号
     */
    private String orderNo;
    /**
     * 订单名称
     */
    private String orderName;
    /**
     * 下单渠道： 1： 客户下单； 2： 后台代下单
     */
    private Integer orderChannel;
    /**
     * 订单类型: 销售订单、采购订单
     */
    private TrdOrderType orderType;
    /**
     * 项目id
     */
    private Integer projectId;
    /**
     * 项目编码
     */
    private String projectCode;
    /**
     * 销售方
     */
    private Integer sellerId;
    /**
     * 采购方
     */
    private Integer purchaserId;
    /**
     * 采购方id
     */
    private Integer customerId;
    /**
     * 采购方子帐号
     */
    private Integer cusUserId;
    /**
     * 客户留言
     */
    private String customerNote;
    /**
     * 收货时间
     */
    private Date receiptTime;
    /**
     * 订单状态
     */
    private TrdOrderStatus orderStatus;
    /**
     * 受理的状态，默认为0，代表未处理。1代表受理成功。其它编码代表受理失败
     */
    private Integer acceptStatus;
    /**
     * 订单日期
     */
    private Date orderTime;
    /**
     * 交货方式
     */
    private Integer deliveryTypeId;
    /**
     * 交货地点
     */
    private String deliverySite;
    /**
     * 交货日期
     */
    private Date deliveryTime;
    /**
     * 收货人姓名
     */
    private String receiverName;
    /**
     * 收货人联系电话
     */
    private String receiverPhone;
    /**
     * 运输方式
     */
    private Integer transportTypeId;
    /**
     * 验收方式
     */
    private Integer checkTypeId;
    /**
     * 结算方式
     */
    private Integer settlementTypeId;
    /**
     * 包装方式
     */
    private Integer packingTypeId;
    /**
     * 其他条款
     */
    private String otherClauses;
    /**
     * 采购总金额
     */
    private BigDecimal amountDue;
    /**
     * 实收采购总金额
     */
    private BigDecimal amountReceived;
    /**
     * 货币类型
     */
    private String currencyCode;
    /**
     * 客户币种应收金额
     */
    private BigDecimal custCurrencyAmount;
    /**
     * 客户币种实收金额
     */
    private BigDecimal custCurrencyAmountReceived;
    /**
     * 客户币种
     */
    private String custCurrencyCode;
    /**
     * 当时汇率
     */
    private BigDecimal exchangeRate;
    /**
     * 是否已生成销售账单
     */
    private Boolean isSaleBilled;
    /**
     * 是否已生成采购账单
     */
    private Boolean isPurchaseBilled;
    /**
     * 支付渠道
     */
    private String payChannel;
    /**
     * 支付流水号
     */
    private String payTransactionId;
    /**
     * 支付时间
     */
    private Date payTime;
    /**
     * 支付状态
     */
    private Integer payStatus;
    /**
     *   增值税
     */
    private BigDecimal vat;

    /**
     *   不含增值税总金额
     */
    private BigDecimal noVat;

    private List<TrdOrderGoodsSaveDto> orderGoods;

    @Override
    public Integer getId() {
        return id;
    }

    @Override
    public void setId(Integer id) {
        this.id = id;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getOrderName() {
        return orderName;
    }

    public void setOrderName(String orderName) {
        this.orderName = orderName;
    }

    public Integer getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Integer customerId) {
        this.customerId = customerId;
    }

    public Integer getCusUserId() {
        return cusUserId;
    }

    public void setCusUserId(Integer cusUserId) {
        this.cusUserId = cusUserId;
    }

    public Integer getOrderChannel() {
        return orderChannel;
    }

    public void setOrderChannel(Integer orderChannel) {
        this.orderChannel = orderChannel;
    }

    public TrdOrderType getOrderType() {
        return orderType;
    }

    public void setOrderType(TrdOrderType orderType) {
        this.orderType = orderType;
    }

    public Integer getProjectId() {
        return projectId;
    }

    public void setProjectId(Integer projectId) {
        this.projectId = projectId;
    }

    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public Integer getSellerId() {
        return sellerId;
    }

    public void setSellerId(Integer sellerId) {
        this.sellerId = sellerId;
    }

    public Integer getPurchaserId() {
        return purchaserId;
    }

    public void setPurchaserId(Integer purchaserId) {
        this.purchaserId = purchaserId;
    }

    public String getCustomerNote() {
        return customerNote;
    }

    public void setCustomerNote(String customerNote) {
        this.customerNote = customerNote;
    }

    public TrdOrderStatus getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(TrdOrderStatus orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Integer getAcceptStatus() {
        return acceptStatus;
    }

    public void setAcceptStatus(Integer acceptStatus) {
        this.acceptStatus = acceptStatus;
    }

    public Date getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(Date orderTime) {
        this.orderTime = orderTime;
    }

    public Integer getDeliveryTypeId() {
        return deliveryTypeId;
    }

    public void setDeliveryTypeId(Integer deliveryTypeId) {
        this.deliveryTypeId = deliveryTypeId;
    }

    public String getDeliverySite() {
        return deliverySite;
    }

    public void setDeliverySite(String deliverySite) {
        this.deliverySite = deliverySite;
    }

    public Date getDeliveryTime() {
        return deliveryTime;
    }

    public void setDeliveryTime(Date deliveryTime) {
        this.deliveryTime = deliveryTime;
    }

    public String getReceiverName() {
        return receiverName;
    }

    public void setReceiverName(String receiverName) {
        this.receiverName = receiverName;
    }

    public String getReceiverPhone() {
        return receiverPhone;
    }

    public void setReceiverPhone(String receiverPhone) {
        this.receiverPhone = receiverPhone;
    }

    public Integer getTransportTypeId() {
        return transportTypeId;
    }

    public void setTransportTypeId(Integer transportTypeId) {
        this.transportTypeId = transportTypeId;
    }

    public Integer getCheckTypeId() {
        return checkTypeId;
    }

    public void setCheckTypeId(Integer checkTypeId) {
        this.checkTypeId = checkTypeId;
    }

    public Integer getSettlementTypeId() {
        return settlementTypeId;
    }

    public void setSettlementTypeId(Integer settlementTypeId) {
        this.settlementTypeId = settlementTypeId;
    }

    public Integer getPackingTypeId() {
        return packingTypeId;
    }

    public void setPackingTypeId(Integer packingTypeId) {
        this.packingTypeId = packingTypeId;
    }

    public String getOtherClauses() {
        return otherClauses;
    }

    public void setOtherClauses(String otherClauses) {
        this.otherClauses = otherClauses;
    }

    public BigDecimal getAmountDue() {
        return amountDue;
    }

    public void setAmountDue(BigDecimal amountDue) {
        this.amountDue = amountDue;
    }

    public BigDecimal getAmountReceived() {
        return amountReceived;
    }

    public void setAmountReceived(BigDecimal amountReceived) {
        this.amountReceived = amountReceived;
    }

    public String getCurrencyCode() {
        return currencyCode;
    }

    public void setCurrencyCode(String currencyCode) {
        this.currencyCode = currencyCode;
    }

    public BigDecimal getCustCurrencyAmount() {
        return custCurrencyAmount;
    }

    public void setCustCurrencyAmount(BigDecimal custCurrencyAmount) {
        this.custCurrencyAmount = custCurrencyAmount;
    }

    public BigDecimal getCustCurrencyAmountReceived() {
        return custCurrencyAmountReceived;
    }

    public void setCustCurrencyAmountReceived(BigDecimal custCurrencyAmountReceived) {
        this.custCurrencyAmountReceived = custCurrencyAmountReceived;
    }

    public String getCustCurrencyCode() {
        return custCurrencyCode;
    }

    public void setCustCurrencyCode(String custCurrencyCode) {
        this.custCurrencyCode = custCurrencyCode;
    }

    public BigDecimal getExchangeRate() {
        return exchangeRate;
    }

    public void setExchangeRate(BigDecimal exchangeRate) {
        this.exchangeRate = exchangeRate;
    }

    public String getPayChannel() {
        return payChannel;
    }

    public void setPayChannel(String payChannel) {
        this.payChannel = payChannel;
    }

    public String getPayTransactionId() {
        return payTransactionId;
    }

    public void setPayTransactionId(String payTransactionId) {
        this.payTransactionId = payTransactionId;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    public Boolean getSaleBilled() {
        return isSaleBilled;
    }

    public void setSaleBilled(Boolean saleBilled) {
        isSaleBilled = saleBilled;
    }

    public Boolean getPurchaseBilled() {
        return isPurchaseBilled;
    }

    public void setPurchaseBilled(Boolean purchaseBilled) {
        isPurchaseBilled = purchaseBilled;
    }

    public Date getReceiptTime() {
        return receiptTime;
    }

    public void setReceiptTime(Date receiptTime) {
        this.receiptTime = receiptTime;
    }

    public List<TrdOrderGoodsSaveDto> getOrderGoods() {
        return orderGoods;
    }

    public void setOrderGoods(List<TrdOrderGoodsSaveDto> orderGoods) {
        this.orderGoods = orderGoods;
    }

    public String getBusinessNo() {
        return businessNo;
    }

    public void setBusinessNo(String businessNo) {
        this.businessNo = businessNo;
    }

    public BigDecimal getVat() {
        return vat;
    }

    public void setVat(BigDecimal vat) {
        this.vat = vat;
    }

    public BigDecimal getNoVat() {
        return noVat;
    }

    public void setNoVat(BigDecimal noVat) {
        this.noVat = noVat;
    }
}
